package com.exigen.perflabstat.dao.jpa;

import java.util.List;

import javax.persistence.Query;

import com.exigen.perflabstat.base.GenericJPADAO;
import com.exigen.perflabstat.dao.ScenarioDao;
import com.exigen.perflabstat.models.Scenario;

public class ScenarioJpaDao extends GenericJPADAO<Scenario, Long> implements ScenarioDao {

	public ScenarioJpaDao() {
		super(Scenario.class);
	}

	@SuppressWarnings("unchecked")
	public List<Scenario> allScenarios() {
		
		Query query = getEntityManager().createQuery("from Scenario");
		
		List<Scenario> result = query.getResultList();
		
		return result;
	}
	
	@SuppressWarnings("unchecked")
	public Scenario findByScenarioName(String scenarioName) {
		
		Scenario scenario = null;
		
		Query query = getEntityManager().createQuery("select scenario from Scenario scenario where scenario.SCENARIO_NAME = :scenarioName");
		query.setParameter("scenarioName", scenarioName);
		query.setMaxResults(1);
		
		List<Scenario> result = query.getResultList();
		
		if(result.isEmpty())return null;
		
		scenario = result.get(0);
		
		return scenario;
	}
	
}
